# 查看网页的渲染方式，确定解析操作
#获取页面刷新后，响应回来的视频地址
# 对地址链接地址进行再次请求，将视频内容保存在本地中
import requests

url="https://www.pearvideo.com/video_1794076"
# 视频相关请求的路径地址
video_request="https://www.pearvideo.com/videoStatus.jsp?contId=1794076&mrd=0.1507951132862695"
# 真正能够播放的视频路径地址
# https://video.pearvideo.com/mp4/short/20240507/cont-1794076-71106724-hd.mp4
# 服务器响应回来的视频路径
# https://video.pearvideo.com/mp4/short/20240507/1715411364534-71106724-hd.mp4
headers={
    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36",
    # 防盗链（溯源）
    "Referer":url

}
resp=requests.get(video_request,headers=headers)
video_msg=resp.json()
# 服务器响应回来的视频路径地址
video_src_old=video_msg["videoInfo"]["videos"]["srcUrl"]
print(video_src_old)
#对页面路径进行切割，拿到最后一段有关视频id的信息
contId=url.split("_")[1]
print(contId)
# 对视频原路径进行处理，将时间戳部分的内容替换成固定的cont-视频id
video_src_new=video_src_old.replace(video_msg["systemTime"],"cont-{}".format(contId))
print(video_src_new)
# 对视频进行请求，并获取响应回来的二进制字节码文件
video_content=requests.get(video_src_new).content
# 将内容写入文件，进行保存
open("梨视频.mp4","wb").write(video_content)